A. Technical Field
The present invention relates to computer networking and, more particularly, to systems, devices, and methods of scaling computer network services by combining commonly available network components with virtualization software.
B. Background of the Invention
As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
In modern large-scale computer networks, load distribution is a common and critical task. Many important large-scale information processing systems, such as web services, searching, content streaming, social networks, and cloud services, just to name a few, are designed based on a scaling model that employs a load distribution method. Load distribution processes high volume of work load and intelligently distributes the work load to a collection of servers, such that each server processes only a portion of the overall load using relatively modest and economical computing units, such as commonly available commercial servers.
While this existing scale-out architecture simplifies the overall design, it burdens each individual server and puts a high demand on the load distributor for several reasons. First, the architecture creates a single point of failure and, thus, requires a heightened level of reliability. Next, the load distributor constitutes a single choke point through which all traffic must flow, which requires that the level of performance of the load distributor exceed that of other network components by an order of magnitude. Further, and more importantly, to distribute the load intelligently, the load distributor must read and process high layer information, such as information in the layered Internet architecture. This requirement makes the load distributor central to the network. The resulting tightly coupled topology, significantly increases the complexity of network design thereby rendering the overall network more less stable.
These are some of the biggest problems facing load distributor design, that result in complex and expensive load distributor products, limited scalability, and constrained fragile network topologies. Due to the crucial role load distributors play in large-scale modern systems, these limitations directly impact overall network performance, reliability, and scalability. What is need are tools for network designers to overcome the above-mentioned limitations.